const getTokenizer = require('./tokenizer').getTokenizer;
const getHoverProvider = require('./hover').getHoverProvider;
const getCompletionProvider = require('./code_completion').getCompletionProvider;
const diagnosticCollection = require('./tokenizer').diagnosticCollection;

/**
 * @param {vscode.ExtensionContext} context
 * @returns {Array<vscode.Disposable>} subscriptions
 */
async function getSubscriptions(context) {
    let tokenizer = await getTokenizer();
    let hoverProvider = await getHoverProvider();
    let completionProvider = await getCompletionProvider();
    return [diagnosticCollection, tokenizer, hoverProvider, completionProvider];
}

module.exports = {
    getSubscriptions
}